Handcrafted Inversions Made Operational on Operational Semantics
نویسندگان
چکیده
When reasoning on formulas involving large-size inductively defined relations, such as the semantics of a real programming language, many steps require the inversion of a hypothesis. The built-in “inversion” tactic of Coq can then be used, but it suffers from severe controllability, maintenance and efficiency issues, which makes it unusable in practice in large applications. To circumvent this issue, we propose a proof technique based on the combination of an antidiagonal argument and the impredicative encoding of inductive data-structures. We can then encode suitable helper tactics in LTac, yielding scripts which are much shorter (as well as corresponding proof terms) and, more importantly, much more robust against changes in version changes in the background software. This is illustrated on correctness proofs of non-trivial C programs according to the operational semantics of C defined in CompCert.
منابع مشابه
Proof Trick : Small Inversions ∗
In the process of proving some goal . . .Hi : Ti . . . ` C, we often need to invert an hypothesis Hi. More precisely, if its type Ti is an instance I(a) of an inductive type family I(x), we want to select the only possible constructors for I(a) and to get the corresponding components. Common instances of this situation occur when reasoning on language operational semantics given in small-step o...
متن کاملMetric Semantics for Second Order Communication
An operational and a denotational semantics are presented for a simple imperative language. The main feature of the language is second order communication: sending and receiving of statements rather than values. The operational semantics is based on a transition system. A complete 1-bounded ultramet-ric space is used in the denotational semantics. In establishing the connection between the two ...
متن کاملA Presheaf Semantics of Value-Passing Processes
This paper investigates presheaf models for process calculi with value passing. Denotational semantics in presheaf models are shown to correspond to operational semantics in that bisimulation obtained from open maps is proved to coincide with bisimulation as defined traditionally from the operational semantics. Both “early” and “late” semantics are considered, though the more interesting “late”...
متن کاملTHE STATE OF THE ART AND THE STATE OF THE PRACTICE Title: Determining Course of Action Alignment with Operational Objectives
During the military planning process, commander’s intent and objectives are defined and courses of action (COAs) are developed, analyzed and compared to determine their likelihood of achieving the intent and objectives. For each mission, thousands of COAs could be automatically generated but only those in alignment with commander’s objectives are worth investigating. The challenge is to be able...
متن کاملNames of the -calculus agents handled locally
We address the problem of handling names in concurrent and distributed systems made up of mobile processes. We equip processes with local environments. Our structural operational semantics handles these environments so that captures of names are never possible. Our semantics includes the speciication of a distributed name manager that conservatively extends standard operational semantics. Bisim...
متن کامل